Chris Pollett > Old Classes >
CS116a

( Print View )

Student Corner:
  [Grades Sec1]

  [Submit Sec1]

  [Email List Sec1]

  [
Lecture Notes]

Course Info:
  [Texts & Links]
  [Topics]
  [Grading]
  [HW Info]
  [Exam Info]
  [Regrades]
  [Honesty]
  [Announcements]

HW Assignments:
  [Hw1]  [Hw2]  [Hw3]
  [Hw4]  [Hw5]

Practice Exams:
  [Mid1]  [Mid2]  [Final]

                           












HW#5 --- last modified March 02 2019 21:08:31..

Solution set.

Due date: Dec 6

Files to be submitted:
  present.cpp

Purpose: To experiment with various aspect of 3D viewing and the viewing pipeline.

Specification:

For this assignment, imagine yourself in your favourite G-rated holiday movie. Imagine someone giving you a gift in a box in that movie. Your task for this assignment is to flexibly render this box and the present inside. The actual present is up to you but it must involve at least 10 polygons. When you first launch your program you should just see the box for the present drawn using a perspective projection. If you hit the space bar, the box should toggle between a solid and a wireframe. The wireframe should be drawn with hidden edges in a different color that visible ones. After hitting the space bar you can now see into the box and should be able to see the present inside. Page up and page down should allow you to change the size of the present box making it respectively bigger and smaller. If the box becomes smaller than the present you should clip the present to the box size. Finally, the left/right arrows allow you to circle the box at some fixed radius and the the up/down keys can be used to change this radius.

Point Breakdown

Departmental coding guidelines for C++ followed 1pt
Space toggles between wirenframe non-wireframe 2pts
Left/Right and Up/down work as described2pts
Inside of box there is a present object that looks like something and which is made up of at least 10 polygons 2pts
Scene rendered with a perspective projection. 2pts
Code for at least the projection or the rotations should not not rely on the corresponding OpenGL primitive but use your own functions1pt
Total10pts